Digital communications occur between sending and receiving devices over an intermediate communications medium, e.g., a fiberoptic cable or insulated copper wire, having one or more designated communications channels, e.g., carrier wavelengths or frequency bands. Each sending device typically transmits symbols at a fixed symbol rate, while each receiving device detects a (potentially corrupted) sequence of symbols and attempts to reconstruct the transmitted data.
A “symbol” is a state or significant condition of the channel that persists for a fixed period of time, called a “symbol interval.” A symbol may be, for example, an electrical voltage or current level, an optical power level, a phase value, or a particular frequency or wavelength. A change from one channel state to another is called a symbol transition. Each symbol may represent (i.e., encode) one or more binary bits of the data. Alternatively, the data may be represented by symbol transitions, or by a sequence of two or more symbols. The simplest digital communication links use only one bit per symbol; a binary ‘0’ is represented by one symbol (e.g., an electrical voltage or current signal within a first range), and binary ‘1’ by another symbol (e.g., an electrical voltage or current signal within a second range). Channel non-idealities produce dispersion which may cause each symbol to perturb its neighboring symbols, causing intersymbol interference (ISI). As the symbol rate increases, ISI can make it difficult for the receiving device to determine which symbols were sent in each interval, particularly when such ISI is combined with additive noise.
As part of the process for recovering digital data from the degraded analog signal, receivers obtain discrete samples of the signal. The sample timing is often a critical part of the process, as it directly affects the signal to noise ratio possessed by the discrete samples. Strategies for detecting and tracking optimal sample times exist with varying degrees of tradeoff between simplicity and performance. In multi-channel environments, additional performance considerations must be taken into account when determining the optimal balance between simplicity and performance.